package com.ktmall.utils;


import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class RespMsg <T>{
    private Integer code; //业务码 如：200、401、403、405、500
    private String msg ;//响应信息
    private T result ;//返回数据

    //无参构造
    public RespMsg(){}

    /**
     * 有参构造
     * @param code
     * @param msg
     * @param result
     */
    public RespMsg(Integer code,String msg ,T result){
        this.code = code;
        this.msg = msg;
        this.result = result;
    }

    /**
     * 返回成功响应成功的信息(不带数据)
     * @param msg
     * @return
     */
    public static <T> RespMsg<T> success(String msg){
        return new RespMsg<T>(200,msg,null);
    }

    /**
     * 返回失败的响应信息(不带数据)
     * @param msg
     * @return
     */
    public static <T> RespMsg<T> fail(String msg){
        return new RespMsg<T>(500,msg,null);
    }

    /**
     * 返回成功的响应(带数据)
     * @param msg
     * @param result
     * @return
     * @param <T>
     */
    public static <T> RespMsg<T>  success(String msg, T result){
        return new RespMsg<T>(200,msg,result);
    }

    public static <T> RespMsg<T> fail(String msg, T result){
        return new RespMsg<T>(500,msg,result);
    }

}
